A non-virtualized wireless device typically supports one operating environment and one device management client that interacts with a device management (DM) server to provide device management functionality. Such an interaction is illustrated in FIG. 1. With a non-virtualized device 110, a single device management client (DMC) 115 interacts with a DM server 120. As there is only one operating environment executing in such a device, DMC 115 carries out management tasks related to all components of the device that are to be managed. Typical components of a mobile wireless device that can be managed remotely include hardware components such as wireless network interfaces and input/output components; firmware; and application software that executes on the device. Management functions relating to hardware components may include, for example, configuration, diagnostics and control. Software and firmware management may include remote installation of application software as well as supervisory software and firmware, such as software for implementing DMC 115, among others.
Existing remote wireless DM servers manage non-virtualized devices, which support single operating systems. With a non-virtualized device, there is a one-to-one mapping between the device and a device identifier that the DM server associates with the device. The device identifier may be, for example, the device's International Mobile Equipment Identity (IMEI), Electronic Serial Number (ESN), Mobile Equipment Identifier (MEID), Globally Unique Identifier (GUID), Serial Number, Stock Keeping Unit (SKU), or any identifier or combination thereof that uniquely identifies a hardware platform. Typically, during each transaction between a device and a DM server, the device identifier is exchanged between the device and the server so that credentials, which are typically indexed based on the device identifier, can be checked with respect to the device. In addition, a routing identifier—such as a Mobile Subscriber Integrated Services Digital Network (MSISDN) number, Media Access Control (MAC) address, or Internet Protocol (IP) address—is typically associated with the device so that a DM server can send messages to the device using the routing identifier.
A virtualized device is a device that supports multiple virtual environments. Each virtual environment or operating system that is installed on the device is an instance of an operating system. Typically, with a virtualized device, there is more than one instance of an operating system executing on the same device. Monitoring software, termed the virtual machine monitor (VMM) or hypervisor executes on the hardware and multiplexes multiple operating systems so that hardware resources, such as CPU, memory and I/O resources, can be shared among the virtual environments. At the same time, the multiple operating systems offer isolation for applications that execute within each virtual environment. Each virtual environment that multiplexes the underlying hardware resources is generally referred to as a virtual machine or virtual device.
Because multiple virtual devices requiring remote management can exist on a virtualized device, it is not possible for a conventional DM server which is limited to interacting with only the underlying platform device to manage multiple virtual devices individually. A need exists, therefore, for methods and apparatus allowing remote device management of each of the multiple virtual devices supported by a mobile virtualized platform.